工控网首页
>

应用设计

>

西门子PLC循环左、右移位指令的使用

西门子PLC循环左、右移位指令的使用

2015/3/11 10:05:02

       

循环移位将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。指令格式见表6。

(1)循环左移位指令(ROL)

使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。

(2)循环右移位指令(ROR)

使能输入有效时,将IN输入无符号数(字节、字或双字)循环右移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。

(3)移位次数N≥数据类型(B、W、D)时的移位位数的处理

如果操作数是字节,当移位次数N≥8时,则在执行循环移位前,先对N进行模8操作(N除以8后取余数),其结果0-7为实际移动位数。

如果操作数是字,当移位次数N≥16时,则在执行循环移位前,先对N进行模16操作(N除以16后取余数),其结果0-15为实际移动位数。

如果操作数是双字,当移位次数N≥32时,则在执行循环移位前,先对N进行模32操作(N除以32后取余数),其结果0-31为实际移动位数。

(4)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间)。

表6 循环左、右移位指令格式及功能

LAD

STL

RLB  OUT,N

RRB  OUT,N

RLW   OUT,N

RRW   OUT,N

RLD  OUT,N

RRD  OUT,N

操作数及数据类型

IN:VB, IB, QB, MB, SB, SMB, LB, AC, 常量。

OUT:VB, IB, QB, MB, SB, SMB, LB, AC。

数据类型:字节

IN:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, 常量。

OUT:VW, IW, QW, MW, SW, SMW, LW, T, C, AC。

数据类型:字

IN:VD, ID, QD, MD, SD, SMD, LD, AC, HC, 常量。

OUT:VD, ID, QD, MD, SD, SMD, LD, AC。

数据类型:双字

N:VB, IB, QB, MB, SB, SMB, LB, AC, 常量;数据类型:字节。

功能

ROL:字节、字、双字循环左移N位;ROR:字节、字、双字循环右移N位。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

说明:在STL指令中,若IN和OUT指定的存储器不同,则须首先使用数据传送指令MOV将IN中的数据送入OUT所指定的存储单元。如:MOVB   IN,OUT

SLB    OUT,N

 

投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机